const patternAccount = /^\w{4,18}$/,
      patternName = /^[a-zA-Z0-9_\u4e00-\u9fa5]{2,18}$/,
      patternPassword = /^\S{6,18}$/,
      patternPhoneNum = /^1[0-9]{10}$/,
      patternPersID15 = /^([1-6][1-9]|50)\d{4}\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}$/,
      patternPersID18 = /^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
      patternExNum = /\d{3,20}/,
      patternCompany = /\S{3,10}/;

const explainAccount = "4~18位有效字符(字母、数字、下划线)",
      explainName = "2~18位有效字符(字母、汉字、数字、下划线)",
      explainPassword = "6~18位任意非空字符",
      explainRepeatPW = "重复密码必须与登录密码一致",
      explainPhoneNum = "由1开头的11位整数",
      explainPersID = "15位或18位：15位必须全部为数字，其中出生年月日6位；18位或全部为数字，或17位数字和X(x)，其中出生年月日8位",
      explainExNum = "3~20位数字",
      explainCompany = "3~10位非空字符";

function ifInputIsEmpty(check) {
    return check.length == 0;
}

function ifInputValid(inputVal, pattern) {
    return pattern.test(inputVal);
}

function ifPersIDValid(persID) {
    return patternPersID15.test(persID) || patternPersID18.test(persID);
}

function loginInputChecked(username, password) {
    var bool01 = ifInputIsEmpty(username);
    var bool02 = ifInputIsEmpty(password);
    if (bool01 || bool02) {
        layer.alert("请完成所有输入！",{icon:2,shade:0.05});
        return false;
    }
    var bool03 = ifInputValid(username, patternAccount);
    if (!bool01 && !bool03) {
        layer.alert("用户名格式有误，用户名必须为" + explainAccount + "!",{icon:2,shade:0.05});
        return false;
    }
    var bool04 = ifInputValid(password, patternPassword);
    if (!bool02 && !bool04) {
        layer.alert("密码格式有误，密码必须为" + explainPassword + "!",{icon:2,shade:0.05});
        return false;
    }
    return true;
}

function ifAddExpressInputChecked(ex_num,company,username,userphone) {
    var bool01 = ifInputIsEmpty(ex_num);
    var bool02 = ifInputIsEmpty(company);
    var bool03 = ifInputIsEmpty(username);
    var bool04 = ifInputIsEmpty(userphone);
    if (bool01 || bool02 || bool03 || bool04) {
        layer.alert("请完成所有输入！",{icon:2,shade:0.05});
        return false;
    }
    var bool05 = ifInputValid(ex_num, patternExNum);
    if (!bool01 && !bool05) {
        layer.alert("单号格式有误，单号必须为" + explainExNum + "!",{icon:2,shade:0.05});
        return false;
    }
    var bool06 = ifInputValid(company, patternCompany);
    if (!bool02 && !bool06) {
        layer.alert("公司名称格式有误，公司名称必须为" + explainCompany + "!",{icon:2,shade:0.05});
        return false;
    }
    var bool07 = ifInputValid(username,patternName);
    if (!bool03 && !bool07) {
        layer.alert("收件人名称格式有误，收件人名称必须为" + explainName + "!",{icon:2,shade:0.05});
        return false;
    }
    var bool08 = ifInputValid(userphone,patternPhoneNum);
    if (!bool04 && !bool08) {
        layer.alert("电话号码格式有误，电话号码必须为" + explainPhoneNum + "!",{icon:2,shade:0.05});
        return false;
    }
    return true;
}

function ifExNumChecked(ex_num) {
    var bool01 = ifInputIsEmpty(ex_num);
    if (bool01) {
        layer.alert("请输入快递单号！",{icon:2,shade:0.05});
        return false;
    }
    var bool02 = ifInputValid(ex_num, patternExNum);
    if (!bool01 && !bool02) {
        layer.alert("单号格式有误，单号必须为" + explainExNum + "!",{icon:2,shade:0.05});
        return false;
    }
    return true;
}

function ifRadioValueChecked(radio) {
    if (radio===undefined) {
        layer.alert("请选择快递状态！",{icon:2,shade:0.05});
        return false;
    }
    return true;
}

function ifInputsByAddChecked(name,phone,personalid,password,password_repeat){
    let bool01 = ifInputIsEmpty(name);
    let bool02 = ifInputIsEmpty(phone);
    let bool03 = ifInputIsEmpty(personalid);
    let bool04 = ifInputIsEmpty(password);
    let bool05 = ifInputIsEmpty(password_repeat);
    if (bool01 || bool02 || bool03 || bool04 || bool05) {
        layer.alert("请完成所有输入！",{icon:2,shade:0.05});
        return false;
    }
    let bool06 = ifInputValid(name, patternName);
    if (!bool01 && !bool06) {
        layer.alert("昵称和姓名输入格式有误，格式必须为" + explainName + "!",{icon:2,shade:0.05});
        return false;
    }
    let bool07 = ifInputValid(phone, patternPhoneNum);
    if (!bool02 && !bool07) {
        layer.alert("手机号码格式有误，手机号码必须为" + explainPhoneNum + "!",{icon:2,shade:0.05});
        return false;
    }
    let bool08 = ifPersIDValid(personalid);
    if (!bool03 && !bool08) {
        layer.alert("身份证号格式有误，身份证号必须为" + explainPersID + "!",{icon:2,shade:0.05});
        return false;
    }
    let bool09 = ifInputValid(password, patternPassword);
    if (!bool04 && !bool09) {
        layer.alert("密码格式有误，密码必须为" + explainPassword + "!",{icon:2,shade:0.05});
        return false;
    }
    let bool10 = password===password_repeat;
    if (!bool05 && !bool10) {
        layer.alert(explainRepeatPW + "!",{icon:2,shade:0.05});
        return false;
    }
    return true;
}

function ifPhoneNumChecked(userphone) {
    let bool01 = ifInputIsEmpty(userphone);
    if (bool01) {
        layer.alert("请输入手机号码！",{icon:2,shade:0.05});
        return false;
    }
    let bool02 = ifInputValid(userphone, patternPhoneNum);
    if (!bool01 && !bool02){
        layer.alert("手机号码格式有误，手机号必须为" + explainPhoneNum + "!",{icon:2,shade:0.05});
        return false;
    }
    return true;
}